Skip to content

Conversation

@radiantchoi
Copy link
Contributor

@radiantchoi radiantchoi commented Jan 26, 2026

답안 제출 문제

작성자 체크 리스트

  • Projects의 오른쪽 버튼(▼)을 눌러 확장한 뒤, Week를 현재 주차로 설정해주세요.
  • 문제를 모두 푸시면 프로젝트에서 StatusIn Review로 설정해주세요.
  • 코드 검토자 1분 이상으로부터 승인을 받으셨다면 PR을 병합해주세요.

검토자 체크 리스트

Important

본인 답안 제출 뿐만 아니라 다른 분 PR 하나 이상을 반드시 검토를 해주셔야 합니다!

  • 바로 이전에 올라온 PR에 본인을 코드 리뷰어로 추가해주세요.
  • 본인이 검토해야하는 PR의 답안 코드에 피드백을 주세요.
  • 토요일 전까지 PR을 병합할 수 있도록 승인해주세요.

@TonyKim9401
Copy link
Contributor

@DaleStudy 리뷰해줘

@dalestudy
Copy link
Contributor

dalestudy bot commented Jan 31, 2026

먼저, 전체적으로 깔끔한 구현과 적절한 주석이 인상적입니다. 특히, 문제 해결 접근법과 변수 선언에 일관성을 유지하며 가독성을 높이셨습니다. 몇 가지 개선 포인트를 제안드리자면:

  1. 시간/공간 복잡도:
  • removeNthFromEnd 함수는 두 포인터와 임시 노드 생성으로 O(1) 공간을 사용하고, 리스트를 한 번 순회하므로 시간복잡도는 O(n)입니다. 이 내용을 코드에 주석으로 명시하면 더 좋겠습니다.
  1. 가독성 및 베스트 프랙티스:
  • prev 노드의 초기값을 ListNode()로 생성하는 대신, dummy라는 명칭과 함께 let dummy = ListNode()로 선언하는 것이 관습적이며 의미 전달이 더 명확합니다.
  • prev?.next = prev?.next?.next 대신, prev?.next = prev?.next?.next로 명확하게 표현하는 것도 좋습니다.
  1. 코드 최적화 및 제안:
  • prev?.next = prev?.next?.next 후, result?.next를 반환하는 부분은 잘 처리되었습니다. 다만, prevdummy로 명확히 선언해두면 코드가 더 직관적입니다.
  1. isSameTree 함수는 깔끔하며 재귀적 접근이 적절합니다. 다만, if p.isLeafNode && q.isLeafNode 조건은 생략 가능하며, 다음 재귀 호출이 자연스럽게 종료 조건 역할을 합니다. 즉, 이 조건은 제거해도 됩니다.

이외에는 큰 문제 없이 잘 작성하셨습니다. 계속해서 깔끔한 코딩과 복잡도 분석을 병행하면 더욱 발전하실 수 있습니다. 좋은 작업입니다!

Copy link
Contributor

@TonyKim9401 TonyKim9401 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

12주차 문제 풀이 고생하셨습니다.
풀어주신 두 문제 모두 LinkedList, Binary tree 특성 잘 활용 하셔서 논리적으로 풀어주신것 같습니다!
이제 마지막달인 2월이네요. 남은 3주 동안 마무리 잘 하시고 유종의 미를 거두실 수 있길 바라겠습니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Solving

Development

Successfully merging this pull request may close these issues.

2 participants